Advanced C++ and Object-Oriented Programming
An intensive, five-day, lecture-and-laboratory C++ and
object-oriented programming course for practicing C++ programmers. This
course builds on the concepts introduced in the course "C++ and
Object-Oriented Programming (for C Programmers)." Advanced topics
are covered in more detail with an emphasis on design and implementation
issues of programming in C++. The course clearly explains advanced
features of the C++ programming language and contains many detailed
walkthroughs of C++ programs. Solutions are provided for all laboratory
exercises. 60% lecture and 40% laboratory exercises.
Prerequisites
- General familiarity with your operating system environment
- Ability to create and edit text files
- Program in C++ at the level of "C++ and Object-Oriented
Programming (for C Programmers)"
Course Objectives
- Understand the concepts of object-oriented programming
- Understand the concepts of object-oriented analysis and design
- Understand the elements of a successful design
- Understand how to organize classes in an object-oriented system
using single inheritance, multiple inheritance, layering, pointers,
references, employment, and progenitors
- Understand class implementation issues
- Understand exception handling
- Protect objects with constructors, destructors, preconditions,
postconditions, and invariants
- Use pointers with objects
- Create composite classes via composition, inheritance, employment,
and knowledge
- Create template container classes
- Understand inheritance with class templates
- Understand the use of polymorphism and virtual functions
- Understand and create cooperative classes
- Understand reference counting
- Understand the mechanics and use of operator overloading
- Handle memory allocation faults for new and delete
- Overload the new and delete operators for all types
- Overload the new and delete operators for specific classes
- Overload the arrow (->) operator to create smart pointers
- Understand implicit conversions
- Create user-defined cast operators and conversion functions
- Initialize arrays of objects
© Copyright 1995-6, Rogue Wave
Software, Inc.